package com.heima;

import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

public interface DrawableShape {
    void draw(GraphicsContext gc); // 用于绘制图形
    boolean contains(double mouseX, double mouseY); // 用于判断鼠标是否在图形内
    void setColor(Color color); // 用于设置图形颜色
    void setText(String text); // 用于设置图形文本
    Color getColor(); // 用于获取图形颜色
    String getText(); // 用于获取图形文本
    void move(double deltaX, double deltaY); // 用于移动图形
    DrawableShape copy(); // 用于复制操作
    
    // 新增方法：将图形信息导出为 XML 节点
    Element toXml(Document doc);
    
    // 新增方法：绘制连接点
    void drawConnectionPoints(GraphicsContext gc);
    
    // 新增方法：获取选中的连接点
    ConnectionPoint getSelectedConnectionPoint(double mouseX, double mouseY);
}
